package net.zisen.cloud.user.service;

import net.zisen.cloud.base.msg.ResultMsg;
import net.zisen.cloud.ping.user.model.UserAddr;

import java.util.List;

/**
 * 用户收件地址
 *
 * @author tim
 * @date 2019-03-28
 */

public interface UserAddrService {

    /**
     * 获取用户的所有地址
     *
     * @param currentUserId 当前用户id
     * @return
     */
    List<UserAddr> queryUserAllAddr(Long currentUserId);

    /**
     * 新增或修改用户地址
     *
     * @param addr          地址id
     * @param currentUserId 当前用户id
     * @return
     */
    ResultMsg<UserAddr> saveOrUpdate(UserAddr addr, Long currentUserId);


    /**
     * 设置为默认收件地址
     *
     * @param addrId        地址id
     * @param currentUserId 当前用户id
     * @return
     */
    ResultMsg<UserAddr> updateToDefaultAddr(Long addrId, Long currentUserId);


    /**
     * 删除用户收件地址
     *
     * @param addrId        地址id
     * @param currentUserId 当前用户id
     * @return
     */
    ResultMsg deleteUserAddrById(Long addrId, Long currentUserId);

    /**
     * 获取用户收件地址
     *
     * @param addrId        地址id
     * @param currentUserId 当前用户id
     * @return
     */
    UserAddr getUserAddrById(Long addrId, Long currentUserId);
}
